﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using Simhopp.Model;

namespace Simhopp.GUI
{
    public delegate void DelegateCreateEvent(CompetitionList competitionList);
    public delegate void DelegateManageEvent(CompetitionList competitionList, Competition competition);
    public delegate void DelegateStartEvent(Competition competition);
    public delegate CompetitionList DelegateGetCompetitionList();
    public delegate void DelegateEditJudges(Competition competition);
    public delegate void DelegateEditDiver(Competition competition);
    public delegate CompetitionList DelegateInitializeCompetitionList();
    public delegate List<Competition> DelegateCompetitionList();
    //public delegate void DelegatePropertyChanged();
    interface InterfaceCoordinatorView
    {
        event DelegateCreateEvent EventCreate;
        event DelegateGetCompetitionList EventGetCompetitionList;
        event DelegateManageEvent EventManageEvent;
        event DelegateEditJudges EventEditJudges;
        event DelegateEditDiver EventEditDiver;
        event DelegateInitializeCompetitionList EventInitializeCompetitionList;
        event DelegateStartEvent EventStartEvent;
        event DelegateCompetitionList EventCompetitionList;
        //event DelegatePropertyChanged EventPropertyChanged;
        //Competition PropCompetition { get; set; }
    }
}
